#include "mvdwindow.h"
#include "ui_mvdwindow.h"

MvdWindow::MvdWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MvdWindow)
{
    ui->setupUi(this);
    initWindow();
}

MvdWindow::~MvdWindow()
{
    delete ui;
}

void MvdWindow::initWindow()
{
    /*
     * 1、实例化模型
     * 2、(model)模型关联数据源（data)
     * 3、视图关联模型
     */

//    QStringListModel * smodel = new QStringListModel(this);
//    QStringList sl;
//    sl<<"aaa"<<"bbb"<<"ccc";
//    smodel->setStringList(sl);
//    QFileSystemModel* fmodel = new QFileSystemModel(this);
//    fmodel->setRootPath(QDir::rootPath());
//    ui->tableView->setModel(fmodel);
//    ui->treeView->setModel(fmodel);
//    ui->listView->setModel(fmodel);
//    ui->columnView->setModel(fmodel);


    tmodel = new QSqlTableModel(this);
    tmodel->setTable("stu");
    tmodel->select();
    ui->tableView->setModel(tmodel);
    tmodel->setEditStrategy(QSqlTableModel::OnManualSubmit);
    ui->tableView->setItemDelegateForColumn(0,new CustomDelegate);
}

void MvdWindow::on_addDbAction_triggered()
{
    QSqlRecord emptyRec = tmodel->record();
    int row = tmodel->rowCount();

    tmodel->insertRecord(row,emptyRec);
}

void MvdWindow::on_delDbAction_triggered()
{
    tmodel->removeRow(ui->tableView->currentIndex().row());
}

void MvdWindow::on_updateDbaction_triggered()
{
    tmodel->submitAll();
}

void MvdWindow::on_sumbitAction_triggered()
{
    tmodel->submitAll();
}

void MvdWindow::on_refreshAction_triggered()
{
    tmodel->select();
}

void MvdWindow::on_reAction_triggered()
{
    tmodel->revertAll();
}
